/**
 * 
 */
package hunau.edu.cxb20.practice4_2Sort;

/**
 * @author Jiang Zhiyan
 *
 * 2021年4月6日 下午10:14:08
 */
public class BubbleSort {
 public static void main(String [] args) {
	 int [] arr= {3,5,3,8,9,1,6,7,2} ;
	 bubbleSort(arr); //调用冒泡升序排序的函数——从小到大
	 print(arr);//输出排好序的值
	 System.out.println();
	 printReverse(arr);//倒序输出冒泡排序的值——从大到小
	 System.out.println();
	 DOWN(arr);//冒泡降序排序
	 print(arr);
	 
 }
 //冒泡 升序排序函数
 public static void bubbleSort(int [] arr) {
	 int i;
	 for( i=0;i<arr.length-1;i++) {
		 for(int j=0;j<arr.length-1-i;j++) {
			 if(arr[j]>arr[j+1]) {   
				 int change=arr[j];
				 arr[j]=arr[j+1];
				 arr[j+1]=change;
			 }
		 }
	 }
 };
 //输出数组的自定义函数
 public static void print(int [] arr) {
	 for(int i:arr) {
		 System.out.print(i+"\t");
	 }
 }
 //倒序输出数组的自定义函数
 public static void printReverse(int [] arr) {
	 for(int i=arr.length-1;i>=0;i--) {
		 System.out.print(arr[i]+"\t");
	 }
 }
//// 冒泡降序排序
// public static void DOWN(int [] arr) {
//	 for(int i=0;i<arr.length-1;i++) {
//		 for(int j=arr.length-1-i;j>0;j--) {
//			 if(arr[j]>arr[j-1]) {
//				 int change=arr[j];
//				 arr[j]=arr[j-1];
//				 arr[j-1]=change;
//			 }
//		 }
//	 }
// }
 
//冒泡降序排序
public static void DOWN(int [] arr) {
	 for(int i=0;i<arr.length-1;i++) {
		 for(int j=0;j<arr.length-1-i;j++) {
			 if(arr[j]<arr[j+1]) {  //升序与降序，只需要改变交换大小的值 即从左到右 升序将最大值排到最右端
				 int change=arr[j];   //降序将最小值排到最右端
				 arr[j]=arr[j+1];
				 arr[j+1]=change;
			 }
		 }
	 }
}
}
